package cn.jbolt.ai.core.chain.node.base;

/**
 * 节点配置常量
 */
public class AppConfigConstant {

    //关联类型
    public  final static String LINK_TYPE_APP="app";
    public  final static String LINK_TYPE_SESSION="session";
    public  final static String LINK_TYPE_NODE="node";

    /**
     * LLM配置的key
     */
    public static final String CONFIG_TYPE_LLM = "llmConfig";
    /**
     * Function Call配置的key
     */
    public static final String CONFIG_TYPE_FUNCCALL = "funcCallConfig";
    /**
     * Function Chat配置的key
     */
    public static final String CONFIG_TYPE_FUNCCHAT = "funcChatConfig";

    /**
     * 知识库查询配置的key
     */
    public static final String CONFIG_TYPE_KLB_SEARCH = "klbSearchConfig";
    /**
     * node上的appConfig的key
     */
    public static final String CONFIG_NODE_APP = "app_config";
    /**
     * UI配置的key
     */
    public static final String CONFIG_TYPE_UI = "uiConfig";
    /**
     * 知识库回答配置的key
     */
    public static final String CONFIG_TYPE_KLB_CHAT = "klbChatConfig";

    /**
     * 意图识别配置
     */
    public static final String CONFIG_TYPE_INTENTION = "intentionConfig";
    /**
     * 数据库查询配置
     */
    public static final String CONFIG_TYPE_DB_QUERY = "dbQueryConfig";

    /**
     * 全局变量设置的配置
     */
    public static final String CONFIG_TYPE_VAR_SET = "varSetConfig";

    /**
     * 重写提问配置
     */
    public static final String CONFIG_TYPE_REWRITE = "rewriteConfig";

    /**
     * 输出节点的配置
     */
    public static final String CONFIG_TYPE_OUTPUT_TO_CLIENT = "outputToClientConfig";
    /**
     * 输出节点的配置
     */
    public static final String CONFIG_TYPE_TRIGGER = "triggerConfig";


    public static final String CONFIG_TYPE_API_CALL = "apiCallConfig";

    /**
     * 配置项 提示词模板
     */
    public static final String CONFIG_KEY_PROMPT_TPL = "promptTpl";


    public static final String CONFIGY_TYPE_IF = "ifConfig";


    /**
     * context中存储原始提示词的attr key
     */
    public static final String ATTR_KEY_PROMPT = "prompt";


    /**
     *  context中存储知识库查询结果的 attr key
     */
    public static final String ATTR_KEY_KLB_RESULT = "klb_result";
    /**
     *  context中存储意图识别结果的 attr key
     */
    public static final String ATTR_KEY_INTENTION_RESULT = "intention_result";


    /**
     * 输入字段来自自定义
     */
    public static final String INPUT_FROM_CUSTOM = "jb_custom";


    /**
     * 分支名，代表知识库查询有结果
     */
    public static final String AFTER_KEY_KLB_MATCH = "klb_match";
    /**
     * 分支名，代表知识库查询有结果
     */
    public static final String AFTER_KEY_KLB_NOMATCH = "klb_no_match";

    /**
     * function call调用匹配到了function
     */
    public static final String AFTER_KEY_FUNC_CALL_SUCCESS = "func_call_success";
    /**
     * function call调用匹配不到function
     */
    public static final String AFTER_KEY_FUNC_NO_MATCH = "func_no_match";

}
